perm filename COMPR[P,JRA]2 blob
sn#105102 filedate 1974-06-03 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 (DEFPROP LISTSET
C00041 00003 (DEFPROP ITERDEF
C00074 ENDMK
C⊗;
(DEFPROP LISTSET
(LAMBDA(C PS)
(COND((NULL C)PS)
((NULL(CAR C))(LISTSET(CDR C)PS))
((EQ @*(CAAR C))(LISTSET(CONS(CDAR C)(CDR C))PS))
(T((LAMBDA(X)(LISTSET(CONS(CDAR C)(CDR C))X))
(NCONC(LISTSET1(COND((EQ NEGSGN(CAAAR C))(CDAAR C))
(T(CAAR C)))
PS)
PS)))))
EXPR)
(DEFPROP LISTSET1
(LAMBDA(C PS)
(COND((NULL PS)(LIST C))
((OR(EQ(CAR C)(CAAR PS))(NOT(ATOM(CAR C))))NIL)
(T(LISTSET1 C(CDR PS)))))
EXPR)
(DEFPROP GETPREDS
(LAMBDA(F P)
(COND((NULL F)P)
((GET(CAR F)@ITER)(GETPREDS(CDR F)(LISTSET(APPEND(GET(CAR F)@IG)(GET(CAR F)@INVAR)
(GET(CAR F)@IBAS)(GET(CAR F)@ICT)(GET(CAR F)@ISTEP))P) ))
(T(GETPREDS(CDR F)(LISTSET(APPEND((LAMBDA(Y)(COND((EQ Y T)NIL)(T Y)))(GET(CAR F)@PRE))
(GET(CAR F)@POST))P)))))
EXPR)
(DEFPROP ARGLIST
(LAMBDA(A)
(COND((NULL A)NIL)
(T(CONS(COND((NOT(ATOM(CAR A)))(LIST @THV(CAAR A)))
(T(LIST @THV(CAR A))))(ARGLIST(CDR A))))))
EXPR)
(DEFPROP GARGLIST
(LAMBDA(AL SW CT)
(COND((NULL AL)NIL)
(T(CONS(COND(SW(LIST @THV(READLIST(LIST @V(ADD1 CT))) ))
(T(READLIST(LIST @V(ADD1 CT))) ))
(GARGLIST(CDR AL)SW(ADD1 CT))))))
EXPR)
(DEFPROP FARGLIST
(LAMBDA(A)
(COND((NULL A)NIL)
(T(CONS(COND((ATOM(CAR A))(LIST @THV(CAR A)))
(T(CONS @LIST(FARGLIST(CAR A)))))
(FARGLIST(CDR A))))) )
EXPR)
(DEFPROP SOFTINT
(LAMBDA(P)
(PROG(PL PR SW)
(TERPRI)(TERPRI)
(SETQ PL P)
SO2 (SETQ SW NIL)
(SETQ PR(CAAR PL))
(COND((NOT(GET PR @FLUENT))(GO SO4)))
(COND((GET(READLIST(APPEND(EXPLODE PR)(LIST @G @R @E @M @L @I @N))) @THEOREM)(GO SO4)))
SO3 (PRINT(LIST @THVSETQ(LIST @THV(READLIST(APPEND(EXPLODE PR)(LIST @A @R @G @S))))
NIL))
(PRINT(LIST @THVSETQ(LIST @THV(READLIST(APPEND(EXPLODE PR)(LIST @I @N @S @T))))
NIL))
(TERPRI)
(PRINT(LIST @DEFPROP(READLIST(APPEND(EXPLODE PR)(LIST @G @R @E @M @L @I @N)))
(LIST @THERASING(GARGLIST(CDAR PL)NIL 0)(APPEND(CONS PR(APPEND(GARGLIST(CDAR PL)T 0)(LIST @R))))
(LIST @THCOND(LIST(LIST @MEMBER(LIST @THV(READLIST(APPEND(EXPLODE PR)(LIST @I @N @S @T))))
(LIST @THV(READLIST(APPEND(EXPLODE PR)(LIST @A @R @G @S)))))
(LIST @THASSERT @(WRONG PATH)))))
@THEOREM))
(TERPRI)
(PRINT(LIST @THASSERT(READLIST(APPEND(EXPLODE PR)(LIST @G @R @E @M @L @I @N)))))
(TERPRI)
(SETQ PR(READLIST(APPEND(LIST @N)(EXPLODE PR))))
(COND(SW(GO SO4))(T(SETQ SW T)))
(GO SO3)
SO4 (SETQ PL(CDR PL))
(COND((NULL PL)(RETURN NIL))
(T(GO SO2))) ))
EXPR)
(DEFPROP ASSERTCOND
(LAMBDA(PC)
(COND((NULL PC)NIL)
((EQ @PATTERN(CAAR(LAST(CAR PC))))(ASSERTCOND(CDR PC)))
((AND(EQ NEGSGN(CAAR(LAST(CAR PC))))(NOT(GET(CADAR(LAST(CAR PC)))@PARTIAL)))(ASSERTCOND(CDR PC)))
((MEMBER(PLPRED(CAR(LAST(CAR PC)))NIL)REDUNAS)(ASSERTCOND(CDR PC)))
(T(SETQ REDUNAS(CONS(PLPRED(CAR(LAST(CAR PC)))NIL)REDUNAS))(APPEND(LIST(LIST @THASSERT(APPEND(PLPRED(CAR(LAST(CAR PC)))NIL)
(COND((GET(COND((EQ NEGSGN(CAAAR PC))(CADAAR PC))
(T(CAAAR PC)))@FLUENT)(LIST @R))(T NIL))))
(LIST @THCOND(LIST @(THV ULS) (LIST @THSETQ @(THV ASSERTLITS)
(LIST @CONS(LIST @LIST(APPEND @(LIST)(LIST(LIST @QUOTE(CAR(PLPRED(CAR(LAST(CAR PC)))NIL))))
(CDR(PLPRED(CAR(LAST(CAR PC)))T))@(@R))(CONS @LIST
(UNEVALARG(CDR(CAR(LAST(CAR PC)))))))
@(THV ASSERTLITS))))(LIST T(LIST @THSETQ @(THV WASSERTLITS)
(LIST @CONS(LIST @LIST(APPEND @(LIST)(LIST(LIST @QUOTE(CAR(PLPRED(CAR(LAST(CAR PC)))NIL))))
(CDR(PLPRED(CAR(LAST(CAR PC)))T))@(@R))
(CONS @LIST(UNEVALARG(CDR(CAR(LAST(CAR PC)))))))@(THV WASSERTLITS))) )))
(ASSERTCOND(CDR PC)) ))) )
EXPR)
(DEFPROP CDISPOST
(LAMBDA(PC)
(PROG(LPC TPC DNF CONJ LI)
(SETQ LPC PC)
(COND((EQ @PATTERN(CAAAR LPC))(SETQ LPC(CDR LPC))))
(SETQ LPC(REVERSE LPC))
CD1 (SETQ TPC(REVERSE LPC)) (SETQ LPC NIL)
CD2 (SETQ LI(APPEND(PLPRED(CAAR TPC)NIL)
(COND((GET(COND((EQ NEGSGN(CAAAR TPC))(CADAAR TPC))
(T(CAAAR TPC)))@FLUENT)@(R))
(T NIL))))
(COND((NOT(MEMBER LI CONJ))(SETQ CONJ(CONS LI CONJ))))
(SETQ LPC(CONS(CDAR TPC)LPC))
(SETQ TPC(CDR TPC))
(COND(TPC(GO CD2)))
(SETQ DNF(CONS CONJ DNF))
(SETQ CONJ NIL)
(COND((CAR LPC)(GO CD1)))
(RETURN(LIST(LIST @DISPOST(LIST @QUOTE DNF)))) ))
EXPR)
(DEFPROP EXTCONT
(LAMBDA(A U P)
(PROG(ER AR UN PR X Y)
(SETQ AR A)
(SETQ UN U)
EX1 (COND((NOT(EQ(CAR UN)@*))(GO EX5)))
(COND((AND(NOT(ATOM(CAR AR)))(NOT(NUMBERP(CAAR AR))))(SETQ X(LIST @THEV(FARGVAL(CAR AR)))))
(T(SETQ X(CAR AR))))
(COND((NOT(ATOM X))(SETQ Y(LIST @THV(CAR DL))))
(T(SETQ Y(CAR DL))))
(SETQ PR (SUBST Y X P))
(SETQ ER(CONS(LIST @THCOND(LIST(LIST @THGOAL(APPEND PR(LIST @R)))
(LIST @THSETQ(LIST @THV(READLIST(APPEND(EXPLODE(CAR PR))(LIST @I @N @S @T))))
(CONS @LIST(CDR PR))))(LIST T T))ER))
(SETQ ER(CONS(LIST @THCOND(LIST(LIST @THGOAL(APPEND PR(LIST @R)))
(LIST @THERASE(APPEND PR(LIST @R))(LIST @THTBF @THTRUE)))
(LIST T T))ER))
(COND(LOOK(SETQ ER(CONS(LIST @THCOND(LIST(LIST @THAND(LIST @THASVAL(LIST @THV(CAR DL)))
(LIST @THERASE(APPEND PR(LIST @H))))T)(LIST T T))ER))))
(SETQ DL(CDR DL))
EX5 (SETQ AR(CDR AR))
(SETQ UN(CDR UN))
(COND(UN(GO EX1)))
(RETURN ER) ))
EXPR)
(DEFPROP ERASECOND
(LAMBDA(PC)
(PROG(LI SW PR EL NE UNI)
ER1 (SETQ LI(CAR(LAST(CAR PC))))
(COND((OR(EQ @PATTERN(CAR LI))(MEMBER LI REDUNER))(GO ER9)))
(SETQ REDUNER(CONS LI REDUNER))
(SETQ SW(COND((EQ NEGSGN(CAR LI))T)))
(SETQ PR(COND(SW(CDR LI))(T LI)))
(COND(SW(GO ER7)))
(COND((GET(CAR PR)@UNIQ)(GO ER5)))
(COND((NOT(GET(CAR PR)@PARTIAL))(GO ER9)))
ER2 (SETQ NE(LIST @N))
ER3 (SETQ EL(CONS(LIST @THSETQ(LIST @THV(READLIST(APPEND NE(EXPLODE(CAR PR))
(LIST @I @N @S @T))))
(CONS @LIST(CDR(PLPRED PR NIL))))EL))
(SETQ EL(CONS(LIST @THDO(LIST @THERASE(APPEND(PLPRED(COND((EQUAL NE(LIST @N))(CONS NEGSGN PR))
(T PR))NIL)
(LIST @R))
(LIST @THTBF @THTRUE)))EL))
(SETQ EL(CONS(LIST @THDO(LIST @THERASE(APPEND(PLPRED(COND((EQUAL NE(LIST @N))(CONS NEGSGN PR))(T PR))NIL)(LIST @H))))EL))
ER4 (SETQ EL(CONS(APPEND(LIST @THCOND)(LIST(LIST @(THERASE(WRONG PATH))@(THFAIL THEOREM)))
(LIST @(T T)))EL))
(GO ER9)
ER5 (SETQ EL(APPEND(EXTCONT(CDR PR)(GET(CAR PR)@UNIQ)(PLPRED PR NIL))EL))
(SETQ UNI T)
(COND((GET(CAR PR)@PARTIAL)(GO ER2))
(T(GO ER4)))
ER7 (COND((GET(CAR PR)@UNIQ)(SETQ EL(APPEND(EXTCONT(CDR PR)(GET(CAR PR)@UNIQ)
(PLPRED(CONS NEGSGN PR)NIL))EL))))
(SETQ UNI T)
(SETQ NE NIL)
(GO ER3)
ER9 (SETQ PC(CDR PC))
(SETQ UNI NIL)
(COND(PC(GO ER1)))
(RETURN(REVERSE EL)) ))
EXPR)
(DEFPROP UNEVALARG
(LAMBDA(DPR)
(COND((NULL DPR)NIL)
((OR(ATOM(CAR DPR))(NOT(OR(EQ(CAAR DPR)@EV)(EQ(CAAR DPR)@EVN))))
(CONS @(QUOTE A)(UNEVALARG(CDR DPR))))
(T(CONS(APPEND(LIST @LIST(LIST(COND((MEMBER(CADAR DPR)PVARLIST)@THV)(T @QUOTE))(CAADAR DPR)))
(FARGVAL1(CDADAR DPR)))
(UNEVALARG(CDR DPR))))) )
EXPR)
(DEFPROP FARGVAL
(LAMBDA(A)
(COND((EQ(CAR A)@EV)(CAR(FARGVAL2(CDR A))))
((EQ(CAR A)@EVN)(CADAR(FARGVAL3(CDR A))))
(T(CAR(FARGVAL1(LIST A))))))
EXPR)
(DEFPROP FARGVAL1
(LAMBDA(A)
(COND((NULL A)NIL)
((ATOM(CAR A))(CONS(LIST @THV(CAR A))(FARGVAL1(CDR A))))
(T(CONS(APPEND(LIST @LIST(LIST (COND((MEMBER(CAAR A)PVARLIST)@THV)
(T @QUOTE))(CAAR A)))(FARGVAL1(CDAR A)))
(FARGVAL1(CDR A))))))
EXPR)
(DEFPROP FARGVAL2
(LAMBDA(A)
(COND((NULL A)NIL)
((ATOM(CAR A))(CONS(LIST @THV(CAR A))(FARGVAL2(CDR A))))
(T(CONS(APPEND(LIST(CAAR A))(FARGVAL2(CDAR A)))(FARGVAL2(CDR A))))))
EXPR)
(DEFPROP FARGVAL3
(LAMBDA(A)
(COND((NULL A)NIL)
((ATOM(CAR A))(CONS(LIST (COND(BTSW @GETNUMARG)
(T @CAR))(LIST @THV(CAR A)))(FARGVAL3(CDR A))))
(T(CONS(LIST @CAR(LIST @LIST(APPEND(LIST(CAAR A))(FARGVAL3(CDAR A)))))(FARGVAL3(CDR A))))))
EXPR)
(DEFPROP INEQARG
(LAMBDA(OP)
(PROG(AR IE AS)
(SETQ IE(GET OP @INEQ))
(SETQ AR(GET OP @ARG))
(COND((NULL IE)(RETURN NIL)))
IN3 (COND((EQ(CAR IE)@*)(SETQ AS(CONS(CAR AR)AS))))
(SETQ IE(CDR IE))
(SETQ AR(CDR AR))
(COND((NOT(NULL IE))(GO IN3)))
(COND((NOT(AND AS(CAR AS)(CDR AS)(CADR AS)))(RETURN NIL)))
(RETURN(LIST(LIST @THCOND(LIST(LIST @THAND(LIST @THASVAL(LIST @THV(CAR AS)))
(LIST @THASVAL(LIST @THV(CADR AS))))T)
(LIST T(LIST @THFAIL)))
(LIST @THCOND(LIST(LIST @EQUAL(LIST @THV(CAR AS))
(LIST @THV(CADR AS)))(LIST @THFAIL))
(LIST T T)))) ))
EXPR)
(DEFPROP DISJUN
(LAMBDA(C)
(PROG(SGSR TP TP1)
(SETQ TP C)
DI2 (SETQ TP1(CONS(LIST(CAR TP))TP1))
(SETQ TP(CDR TP))
(COND(TP(GO DI2)))
(SETQ SGSR(SUBGOALCOND TP1 T))
(COND((CDR SGSR)(SETQ SRG(APPEND(CDR SGSR)SRG))))
(RETURN(CONS @THOR(APPEND(REJECTQUIK TP1 T)(CAR SGSR)
(LIST(LIST @CONDSTAT @(THV CGL) T))))) ))
EXPR)
(DEFPROP ITERATE
(LAMBDA(S)
(LIST @THOR(CONS @THAND(ITB S))
T))
EXPR)
(DEFPROP ITB
(LAMBDA(S)
(PROG(SL LS LSG)
(SETQ SL(CDR S))
IT2 (SETQ LS(CONS(LIST(CAR SL))LS))
(SETQ SL(CDR SL))
(COND(SL(GO IT2)))
(SETQ LSG(SUBGOALCOND LS NIL))
(RETURN(APPEND(REJECTQUIK LS NIL)(CAR LSG)(CDR LSG))) ))
EXPR)
(DEFPROP SUBGOALCOND
(LAMBDA(PRE DF)
(PROG(PC LI SW SWR SG SR LIT)
(SETQ PC PRE)
(COND((NULL PC)(RETURN NIL)))
SU1 (SETQ SW NIL)(SETQ LI(CAAR PC))
(SETQ SWR NIL)
(COND((AND DF(NOT(ATOM(CAR LI))))(SETQ SG(CONS(CONS @THAND(APPEND(REJECTQUIK LI NIL)
(CSG(SUBGOALCOND LI NIL))))SG))
(GO SU7)))
(COND((NOT(EQ LI @*))(GO SU15)))
(SETQ SG(CONS(ITERATE(CAR PC))SG))
(GO SU7)
SU15 (COND((NULL(CDAR PC))(GO SU2)))
(SETQ SG(CONS(DISJUN(CAR PC))SG))
(GO SU7)
SU2 (COND((NOT(EQ @REQUEST(CAR LI)))(GO SU21)))
(SETQ SWR T)
(SETQ LI(CDR LI))
(COND((EQ NEGSGN(CAR(EXPLODE(CAR LI))))
(SETQ LI(APPEND(LIST NEGSGN(READLIST(CDR(EXPLODE(CAR LI)))))
(CADR LI))))
(T(SETQ LI(CONS(CAR LI)(CADR LI)))))
SU21 (COND((EQ NEGSGN(CAR LI))(SETQ SW T)))
(COND((AND SWR(NOT(COND(SW(GET(CADR LI)@FLUENT))
(T(GET(CAR LI)@FLUENT)))))
(SETQ SG(CONS(CAR(REJECTQUIK(LIST(LIST LI))NIL))SG))))
(COND(SW(SETQ LI(CDR LI))))
(COND((NOT(OR(GET(CAR LI)@SUBR)(GET(CAR LI)@EXPR)(GET(CAR LI)@FEXPR)))(GO SU23)))
(SETQ SG(CONS(COND(SW(LIST @NOT(PLPRED LI T)))
(T(PLPRED LI T)))SG))
(GO SU7)
SU23 (COND((NOT(GET(CAR LI)@FLUENT))(GO SU7)))
(COND((EQ @=(CAR LI))(SETQ SG(CONS(LIST @THCOND(LIST(LIST @THASVAL(CADR(PLPRED LI T)))
(CONS @EQUAL(CDR(PLPRED LI T))))
(LIST T(LIST @THSETQ(CADR(PLPRED LI T))(CADDR(PLPRED LI T)))))SG))(GO SU7)))
(COND((NOT(GET(CAR LI)@UNCERT))(GO SU3)))
(SETQ SG(CONS(LIST @THCOND(LIST(THANDVAL LI)(LIST @UNCERTLIT(APPEND @(LIST)(CONS(COND(SW(LIST @QUOTE
(READLIST(APPEND @(N)(EXPLODE(CAR LI))))))
(T(LIST @QUOTE(CAR LI))))
(APPEND(CDR(PLPRED LI NIL))@(@R))))
DF @X @Y))@(T T))SG))
(COND((NULL DF)(SETQ SG(CONS(LIST @CONDSTAT @(THV CGL)DF)SG))))
(GO SU7)
SU3 (COND((AND(NOT(GET(CAR LI)@PARTIAL))SW)(GO SU11)))
(COND((NOT(GET(CAR LI)@PARTIAL))
(SETQ SG(CONS(APPEND(LIST @THGOAL(APPEND(PLPRED LI NIL)@(R)))
(COND(SWR NIL)(T(LIST @(THTBF FILTEROP)))))SG))
(GO SU5)))
(SETQ LIT LI)
(COND(SW(SETQ LI(CONS(READLIST(APPEND @(N)(EXPLODE(CAR LI))))(CDR LI))))
(T(SETQ LIT(CONS(READLIST(APPEND @(N)(EXPLODE(CAR LI))))(CDR LI)))))
(SETQ SG(CONS(LIST @THCOND(LIST(APPEND(LIST @THGOAL(APPEND(PLPRED LI NIL)@(R)))
(COND(SWR NIL)(T(LIST @(THTBF FILTEROP)))))T)
(LIST(LIST @THGOAL(APPEND(PLPRED LIT NIL)@(R)))@(THFAIL))
(LIST T(LIST @UNCERTLIT(APPEND @(LIST)(CONS(LIST @QUOTE(CAR LI))
(APPEND(CDR(PLPRED LI NIL))@(@R))))DF
(LIST @QUOTE(APPEND(PLPRED LI NIL)@(R)))
(LIST @QUOTE(APPEND(PLPRED LIT NIL)@(R))) )))SG))
(COND((NULL DF)(SETQ SG(CONS(LIST @CONDSTAT @(THV CGL)DF)SG))))
SU5 (COND((OR(GET OP @AX)SWR)(GO SU7)))
(COND((EQUAL @(C P)(LIST(CAR(EXPLODE(CAR LI)))
(CADR(EXPLODE(CAR LI))) ))
(SETQ LI(CONS @C(CDR LI)))))
(SETQ SG(CONS(LIST @THCOND(LIST(THANDVAL LI)
(LIST @THSETQ(LIST @THV(READLIST(APPEND(EXPLODE(CAR LI))(LIST @A @R @G @S))))
(LIST @CONS(CONS @LIST(CDR(PLPRED LI T)))
(LIST @THV(READLIST(APPEND(EXPLODE(CAR LI))(LIST @A @R @G @S)))) )))(LIST T T))SG))
(COND(DF(SETQ SG(CONS(LIST @THAND(CADR SG)(CAR SG))(CDDR SG)))))
(SETQ SR(CONS(LIST @THCOND(LIST(LIST @NULL(LIST @THV(READLIST(APPEND(EXPLODE(CAR LI))(LIST @A @R @G @S)))))
T)
(LIST T(LIST @THSETQ(LIST @THV(READLIST(APPEND(EXPLODE(CAR LI))(LIST @A @R @G @S))))
(LIST @CDR(LIST @THV(READLIST(APPEND(EXPLODE(CAR LI))(LIST @A @R @G @S)))))
T T)))SR))
(COND(DF(SETQ SR(CONS(LIST @THCOND(LIST(LIST @THGOAL(APPEND(PLPRED LI NIL)(LIST @R)))
(CAR SR))(LIST T T))(CDR SR)))))
SU7 (SETQ PC(CDR PC))
(COND((NOT(NULL PC))(GO SU1)))
SU9 (RETURN(CONS(REVERSE SG)SR))
SU11 (SETQ SG(CONS(LIST @THCOND(LIST(LIST @THNOT(LIST @THGOAL(APPEND(PLPRED LI NIL)(LIST @R))))T)
(LIST T(LIST @THGOAL(APPEND(PLPRED(CONS NEGSGN LI)NIL)(LIST @R))
@(THTBF FILTEROP) )))SG))
(SETQ LI(CONS(READLIST(APPEND(LIST @N)(EXPLODE(CAR LI))))(CDR LI)))
(GO SU5) ))
EXPR)
(DEFPROP LOOKAHEAD
(LAMBDA(OP)
(PROG(PC LI HG HA PR)
(SETQ PC((LAMBDA(Y)(COND((EQ Y T)NIL)(T Y)))(GET OP @PRE)))
(COND((NULL PC)(RETURN NIL)))
LO1 (SETQ LI(CAAR PC))
(COND((EQ LI @*)(GO LO5)))
(COND((NOT(EQ @REQUEST(CAR LI)))(GO LO2)))
(SETQ LI(COND((EQ NEGSGN(CAR(EXPLODE(CADR LI))))
(APPEND(LIST NEGSGN(READLIST(CDR(EXPLODE(CADR LI)))))
(CADDR LI)))
(T(CONS(CADR LI)(CADDR LI)))))
LO2 (COND((EQ NEGSGN(CAR LI))(SETQ PR(CADR LI)))
(T(SETQ PR(CAR LI))))
(COND((OR(NOT(GET PR @FLUENT))(AND(EQ NEGSGN(CAR LI))(NOT(GET PR @PARTIAL))))(GO LO5)))
(SETQ HG(CONS(LIST @THGOAL(APPEND(PLPRED LI NIL)(LIST @H)))HG))
(SETQ HA(CONS(LIST @THCOND(LIST(THANDVAL LI)(LIST @THDO(LIST @THASSERT
(APPEND(PLPRED LI NIL)(LIST @H))))))HA))
LO5 (SETQ PC(CDR PC))
(COND((NOT(NULL PC))(GO LO1)))
(SETQ HG(LIST @THCOND(LIST(CONS @THOR HG)T)(LIST T T)))
(SETQ HA(CONS @THDO HA))
(RETURN(LIST HG HA)) ))
EXPR)
(DEFPROP REJECTQUIK
(LAMBDA(PRE DSW)
(PROG(PC SW LI LIT RL EL)
(SETQ PC PRE)
(COND((NULL PC)(RETURN NIL)))
RE1 (SETQ SW NIL)
(SETQ LI(CAAR PC))
(COND((NOT(ATOM(CAR LI)))(GO RE5)))
(COND((EQ @REQUEST(CAR LI))(GO RE5)))
(COND((EQ LI @*)(GO RE5)))
(COND((EQ NEGSGN(CAR LI))(SETQ SW T)))
(COND(SW(SETQ LI(CDR LI))))
(COND((OR(GET(CAR LI)@SUBR)(GET(CAR LI)@EXPR)(GET(CAR LI)@FEXPR))(GO RE5)))
(COND((GET(CAR LI)@FLUENT)(GO RE5)))
(COND((CDAR PC)(GO RE5)))
(COND((GET(CAR LI)@UNCERT)
(SETQ RL(CONS(LIST @THCOND(LIST(THANDVAL LI)
(LIST @UNCERTLIT(APPEND @(LIST)(CONS(COND(SW(LIST @QUOTE
(READLIST(APPEND @(N)(EXPLODE(CAR LI))))))
(T(LIST @QUOTE(CAR LI))))
(CDR(PLPRED LI NIL))))DSW @X @Y))@(T T))RL))
(GO RE3)))
(COND((NOT(EQ @=(CAR LI)))(GO RE2)))
(SETQ EL(CONS(LIST @THCOND(LIST(APPEND(THANDVAL LI)(LIST(COND(SW(CONS @EQUAL(CDR(PLPRED LI T))))
(T(LIST @NOT(CONS @EQUAL(CDR(PLPRED LI T))))))))
(LIST @THFAIL))
(LIST T T))EL))
(GO RE5)
RE2 (SETQ LI(PLPRED LI NIL))
(COND((NOT(GET(CAR LI)@PARTIAL))
(COND(SW(SETQ RL(CONS(LIST @THNOT(LIST @THGOAL LI))RL)))
(T(SETQ RL(CONS(LIST @THGOAL LI)RL))))
(GO RE5)))
(SETQ LIT LI)
(COND(SW(SETQ LI(CONS(READLIST(APPEND @(N)(EXPLODE(CAR LI))))(CDR LI))))
(T(SETQ LIT(CONS(READLIST(APPEND @(N)(EXPLODE(CAR LI))))(CDR LI)))))
(SETQ RL(CONS(LIST @THCOND(LIST(LIST @THGOAL LI)T)
(LIST(LIST @THGOAL LIT)@(THFAIL))
(LIST T(LIST @UNCERTLIT(APPEND @(LIST)(CONS(LIST @QUOTE(CAR LI))(CDR LI)))DSW
(LIST @QUOTE LI)(LIST @QUOTE LIT))))RL))
RE3 (COND((NULL DSW)(SETQ RL(CONS(LIST @CONDSTAT @(THV CGL)DSW)RL))))
RE5 (SETQ PC(CDR PC))
(COND((NULL PC)(RETURN(APPEND(REVERSE RL)EL)))
(T(GO RE1))) ))
EXPR)
(DEFPROP PLPRED
(LAMBDA(L SW)
(PROG(LL PR VL)
(SETQ LL L)
(SETQ PR(CAR LL))
(COND((EQ NEGSGN(CAR LL))(SETQ PR(READLIST(APPEND(LIST @N)(EXPLODE(CADR LL))) )))
(T(GO PL1)))
(SETQ LL(CDR LL))
PL1 (SETQ LL(CDR LL))
PL3 (SETQ VL(CONS(COND((AND(NOT(ATOM(CAR LL)))(NULL(CDAR LL)))(COND(SW(LIST @QUOTE(CAR LL)))
(T(CAR LL))))
((NOT(ATOM(CAR LL)))(COND(SW(FARGVAL(CAR LL)))
(T(LIST @THEV(FARGVAL(CAR LL))))) )
(T(LIST @THV(CAR LL))))VL))
(SETQ LL(CDR LL))
(COND((NULL LL)(RETURN(CONS PR(REVERSE VL))))
(T(GO PL3))) ))
EXPR)
(DEFPROP THANDVAL
(LAMBDA(L)
(PROG(LL VL)
(SETQ LL L)
(COND((EQ(CAR LL)NEGSGN)(SETQ LL(CDDR LL)))
(T(SETQ LL(CDR LL))))
TH1 (COND((NOT(ATOM(CAR LL)))(GO TH2)))
(SETQ VL(CONS(LIST @THASVAL(LIST @THV(CAR LL)))VL))
TH2 (SETQ LL(CDR LL))
(COND((NULL LL)(RETURN(CONS @THAND VL)))
(T(GO TH1))) ))
EXPR)
(DEFPROP HYPGOAL
(LAMBDA(OP)
(LIST @THCOND(LIST(THANDVAL(CAAR(GET OP @POST)))
(LIST @THDO(LIST @THERASE(APPEND(PLPRED(CAAR(GET OP @POST))NIL)(LIST @H)))))
(LIST T T)) )
EXPR)
(DEFPROP PATTERN
(LAMBDA(OP)
(PROG(LI SW1 SW2)
(SETQ LI(CAR(LAST(CAR(GET OP @POST)))))
(COND((EQ @PATTERN(CAR LI))(SETQ LI(CONS(CADR LI)(CADDR LI)))))
(COND((GET(COND((EQ NEGSGN(CAR LI))(CADR LI))
(T(CAR LI))) @FLUENT)(SETQ SW1 T)))
(COND((OR(EQ @AXIOM OP)(EQ @DEF OP))(SETQ SW2 T)))
(COND((AND(NOT SW1)(NOT SW2))(ERR @(NONFLUENT PC OF FLUENT OP))))
(COND((EQ NEGSGN(CAR LI))
(RETURN(CONS(READLIST(APPEND(LIST @N)(EXPLODE(CADR LI))))
(APPEND(ARGLIST(CDDR LI))(COND(SW1(LIST @R))(T NIL)) ))))
(T(RETURN(CONS(CAR LI)(APPEND(ARGLIST(CDR LI))(COND(SW1(LIST @R))(T NIL)) ))))) ))
EXPR)
(DEFPROP MEMP
(LAMBDA(A B)
(COND((NULL B)NIL)
((ATOM(CAR B))(MEMP A(CDR B)))
((EQ(CAR A)(CAAR B))T)
(T(MEMP A(CDR B)))))
EXPR)
(DEFPROP CDEQ
(LAMBDA(VARL)
(COND((NULL VARL)NIL)
(T(CONS(CAR VARL)(CDEQ(CDEQ1(CAR VARL)(CDR VARL)))))))
EXPR)
(DEFPROP CDEQ1
(LAMBDA(A D)
(COND((NULL D)NIL)
((EQUAL A(CAR D))(CDEQ1 A(CDR D)))
(T(CONS(CAR D)(CDEQ1 A(CDR D))))))
EXPR)
(DEFPROP VARLIST
(LAMBDA(CO)
(PROG(RP CL VL VA LI SW AR ARL PL UA DA CT)
VA1 (SETQ CL(CAR CO))
VA3 (SETQ LI(CAR CL))
(COND((EQ LI @*)(GO VA65)))
(COND((NOT(ATOM(CAR LI)))(SETQ GCSW T)(SETQ VL(CDEQ(APPEND(VARLIST LI)VL)))(SETQ GCSW NIL)(GO VA6)))
(COND((EQ @PATTERN(CAR LI))(SETQ LI(CONS(CADR LI)(CADDR LI))) ))
(COND((NOT(EQ @REQUEST(CAR LI)))(GO VA31)))
(SETQ LI(CADDR LI))
(GO VA4)
VA31 (SETQ LI(COND((EQ NEGSGN(CAR LI))(CDDR LI))
(T(CDR LI))))
(COND((OR(GET(CAR LI)@SUBR)(GET(CAR LI)@EXPR))(GO VA65)))
VA4 (COND((NOT SW)(SETQ AR LI)))
VA5 (SETQ VA(CAR LI))
(COND((AND(NOT(ATOM VA))(NUMBERP(CAR VA)))(GO VA6)))
(COND((AND(NOT(ATOM VA))(NOT(OR(EQ(CAR VA)@EVN)(EQ(CAR VA)@EV)(GET(CAR VA)@SUBR)
(GET(CAR VA)@EXPR)))(NOT(MEMP VA VL)))
(GO VA6)))
(COND((AND(ATOM VA)(NOT(MEMQ VA VL)))(SETQ VL(CONS VA VL))))
(SETQ SW T)
VA6 (SETQ LI(CDR LI))
(COND(LI(GO VA5)))
VA65 (SETQ CL(CDR CL))
(COND(CL(GO VA3)))
(SETQ CO(CDR CO))
(COND(CO(GO VA1)))
(COND(GCSW(RETURN VL)))
(SETQ CT 0)
(SETQ PL(GET OP @POST))
(COND((AND(GET OP @ITER)(NOT(GET OP @OA)))(RETURN VL))
((GET OP @OA)(SETQ PL(GET OP @OA))))
VA7 (SETQ RP(REVERSE(CAR PL)))
(SETQ UA(GET(COND((EQ NEGSGN(CAAR RP))(CADAR RP))
(T(CAAR RP)))@UNIQ))
(COND((NULL UA)(GO VA11)))
VA9 (COND((EQ(CAR UA)@*)(SETQ DA(CONS(READLIST(LIST @D(SETQ CT(ADD1 CT))))DA))))
(SETQ UA(CDR UA))
(COND(UA(GO VA9)))
VA11 (SETQ PL(CDR PL))
(COND(PL(GO VA7)))
(SETQ DL DA)
(SETQ VL(APPEND VL DA))
VA13 (COND((ATOM(CAR AR))(SETQ ARL(CONS(CAR AR)ARL)))
(T(SETQ ARL(CONS(CAAR AR)ARL))))
(SETQ AR(CDR AR))
(COND(AR(GO VA13)))
(COND((GET OP @ITER)(RETURN VL)))
(SETQ PVARLIST VL)
(RETURN(APPEND VL(LIST(LIST (READLIST(APPEND(LIST @L @S @T)(EXPLODE OP)))(LIST @QUOTE ARL))))) ))
EXPR)
(DEFPROP CSG
(LAMBDA(GR)
(PROG(TE)
(COND((NULL GR)(RETURN NIL)))
(SETQ TE(APPEND(CAR GR)(CDR GR)SRG))
(SETQ SRG NIL)
(RETURN TE) ))
EXPR)
(DEFPROP DLAST
(LAMBDA(L LN)
(COND((NULL(CDR LN))(READLIST(REVERSE L)))
(T(DLAST(CONS(CAR LN)L)(CDR LN)))))
EXPR)
(DEFPROP CONTRLTRACE
(LAMBDA(GL)
(COND((NULL GL)NIL)
(T(CONS(LIST @THCOND(LIST(LIST @AND @(THV WF)(LIST @THASVAL(CAR GL))
(LIST @NOT(LIST @ATOM(CAR GL)))
(LIST @NOT(LIST @EQ @@#(LIST @CAR(CAR GL)))))
(LIST @THSETQ(CAR GL)
(LIST @LIST @@#(LIST @LIST(LIST @QUOTE(CADAR GL))@(THV LCTR))(CAR GL))))
@(T T))(CONTRLTRACE(CDR GL))))) )
EXPR)
(DEFPROP SEMOP
(LAMBDA(F)
(PROG(TH GCSW FL OP AR DL AL SRG G UPTHM REDUNER REDUNAS)
(SETQ FL F)
SE1 (SETQ OP(CAR FL))
(SETQ UPTHM NIL)
(SETQ SRG NIL)
(SETQ AL(CONS OP AL))
(SETQ AR(GET OP @ARG))
(TERPRI)(TERPRI)
(PRINT(LIST @SETQ(READLIST(APPEND @(R T)(EXPLODE OP)))NIL))
(PRINT(LIST @SETQ(READLIST(APPEND @(R F)(EXPLODE OP)))NIL))
(TERPRI)
(COND((GET OP @ITER)(SETQ TH(ITERDEF))(GO SE2)))
(SETQ TH(LIST @DEFPROP OP
(APPEND(LIST @THCONSE)
(LIST(CONS @CGL(VARLIST(APPEND(GET OP @POST)((LAMBDA(Y)(COND((EQ Y T)NIL)(T Y)))
(GET OP @PRE))) )))
(LIST(SETQ G(PATTERN OP)))
@((THSETQ(THV LCTR)(THV GCTR)))
(COND(BTSW(CONTRLTRACE(CDR(REVERSE(CDR(REVERSE G))))))(T NIL))
(COND(STAT(LIST @(SETQ THME(ADD1 THME))))
(T NIL))
(COND((GET OP @REC)NIL)
(T(LIST(LIST @THUNIQUE (READLIST(APPEND(LIST @L @S @T)(EXPLODE OP))))) ))
(LIST(LIST @TREEPATH OP G))
(COND((GET OP @ASSUM)(LIST(LIST @STEPREF (LIST @QUOTE OP)
(CONS @LIST(FARGLIST(GET OP @ARG)))
(APPEND @(LIST)(LIST(LIST @QUOTE(CAR G)))
(REVERSE(CDR(REVERSE(CDR G))))) )))
(T NIL))
(COND(TRACESW(LIST @(TRACEINFO1)(LIST @THOR T(LIST @TRACEINFO2 OP))))
(T NIL))
(LIST(LIST @COND(LIST(LIST @TTYIN)(LIST @ADVICESYS))@(T T)))
(COND(LOOK(LIST(HYPGOAL OP)))(T NIL))
(REJECTQUIK((LAMBDA(Y)(COND((EQ Y T)NIL)(T Y)))(GET OP @PRE))NIL)
(COND(LOOK(LOOKAHEAD OP))
(T NIL))
(CSG(SUBGOALCOND((LAMBDA(Y)(COND((EQ Y T)NIL)(T Y)))(GET OP @PRE))NIL))
(COND(AR(INEQARG OP))
(T NIL))
(COND((AND AR(CDAR(GET OP @POST)))@((SAVESTATE @CURSTATE)))
(T NIL))
(COND(AR(SETQ REDUNER NIL)(ERASECOND (GET OP @POST)))
(T NIL))
(COND(AR(LIST(LIST @THSET @(CAR(THV ANS))(LIST @CONS(LIST @CONS
(COND((NUMBERP(CAR(LAST(EXPLODE OP))))
(LIST @QUOTE(DLAST NIL(EXPLODE OP))))
((GET OP @ASSUM)
(LIST @READLIST(LIST @APPEND(LIST @EXPLODE(LIST @QUOTE OP))@(EXPLODE PN))))
(T (LIST @QUOTE OP)))
(CONS @LIST(FARGLIST(GET OP @ARG))))@(EVAL(CAR(THV ANS)))))))
(T NIL))
(LIST @(THSETQ(THV DBLITS)(CONS(CDAR CT)(THV DBLITS))))
(COND(STAT(LIST @(SETQ THMS(ADD1 THMS))))
(T NIL))
(COND(AR(SETQ REDUNAS NIL)(ASSERTCOND(REVERSE(GET OP @POST))))
(T NIL))
(COND((AND AR(CDAR(GET OP @POST)))(CDISPOST(REVERSE(GET OP @POST))))
(T NIL))
(COND(AR(APPEND(COND(TRACESW(LIST(LIST @PRINT(LIST @REVERSE @(EVAL(CAR(THV ANS)))))))
(T NIL))
(LIST(LIST @SETQ @GANS(LIST @REVERSE @(EVAL(CAR(THV ANS))))))
(LIST @(COND((*GREAT(LENGTH GANS)(LENGTH LGANS))(SETQ LGANS GANS))(T T)))
(LIST(LIST @THDO(LIST @TERPRI)))))
(T NIL))
(LIST @(COND((EQ @IF(CADAR CT))(ELSECLAUSE))
(T(THSETQ CT(CDR CT)T T)))) )
@THEOREM) )
SE2 (SPRINT TH 2 1)
(COND(UPTHM(TERPRI)(SPRINT UPTHM 2 1)(PRINT(LIST @THASSERT(READLIST(APPEND @(T U P)(EXPLODE OP)))))))
(SETQ FL(CDR FL))
(COND(FL(GO SE1)))
SE3 (TERPRI)(TERPRI)
(PRINT(LIST @THASSERT(CAR AL)))
(SETQ AL(CDR AL))
(COND(AL(GO SE3))
(T(RETURN T))) ))
EXPR)
(DEFPROP ITERDEF
(LAMBDA NIL
(PROG(CCL INVS IBAL IVAL IGAL)
(RETURN
(LIST @DEFPROP OP
(APPEND(LIST @THCONSE)
(LIST(APPEND(VARLIST(APPEND(GET OP @IBAS)(GET OP @INVAR)(GET OP @ISTEP)(GET OP @IG)))
@(FT NT CGL LCTR LWF LUF PS PB BP SASSERTLITS INVAR1 INVAR2 CTST)))
(LIST(SETQ G(CONS(CAAR(LAST(CAR(GET OP @IG))))
(APPEND(ARGLIST(CDAR(LAST(CAR(GET OP @IG)))))@(R)))))
(LIST @(THSETQ(THV LCTR)(THV GCTR)))
(COND(BTSW(CONTRLTRACE(CDR(REVERSE(CDR(REVERSE G))))))(T NIL))
(COND(STAT(LIST @(SETQ THME(ADD1 THME))))(T NIL))
(LIST(LIST @TREEPATH OP G))
(COND((GET OP @ASSUM)(LIST(LIST @THSETQ @(THV ASSL)
(LIST @CONS(LIST @QUOTE OP)@(THV ASSL))))))
(COND(TRACESW(LIST @(TRACEINFO1)(LIST @THOR T(LIST @TRACEINFO2 OP))))
(T NIL))
(LIST(LIST @COND(LIST(LIST @TTYIN)(LIST @ADVICESYS))@(T T)))
@((THSETQ(THV LWF)NIL T T)
(THCOND((NOT(THV WF))(THSETQ(THV LWF)T))(T T))
(THSETQ(THV WF)T)
(THSETQ(THV LUF)NIL T T)
(THSETQ(THV PS)(EVAL(CAR(THV ANS)))T T)
(THSET(CAR(THV ANS))NIL))
(REJECTQUIK((LAMBDA(Y)(COND((EQ Y T)NIL)(T Y)))(GET OP @IBAS))NIL)
(CSG(SUBGOALCOND((LAMBDA(Y)(COND((EQ Y T)NIL)(T Y)))(GET OP @IBAS))NIL))
@((THSETQ(THV BP)(EVAL(CAR(THV ANS)))T T)
(THSET(CAR(THV ANS))NIL))
(COND((NOT(GET OP @OA))
@((THCOND((THV UF)(THSETQ(THV PB)NIL T T)(THGO UP1))(T T))))
(T NIL))
@((THOR T(THFAIL THEOREM)))
@(REP)
(SETQ INVS(GENINVAR(GET OP @INVAR)NIL))
(LIST(LIST @THSETQ @(THV INVAR1)(CONS @LIST CCL)T T))
(LIST(LIST @THSETQ @(THV CTST)
(CONS @LIST(CONS(LIST @QUOTE(CAAAR(GET OP @ICT)))(CDR(PLPRED(CAAR(GET OP @ICT))T))))))
@((THOR T(THFAIL THEOREM)))
@((THSETQ(THV SASSERTLITS)(THV ASSERTLITS)T T))
(REJECTQUIK(GET OP @ISTEP)NIL)
(CSG(SUBGOALCOND(GET OP @ISTEP)NIL))
(RESETCHNGVARS IVAL)
INVS
(DEFUNDEF IVAL)
@((THSETQ(THV PB)(EVAL(CAR(THV ANS)))T T))
(LIST(LIST @THSETQ @(THV INVAR2)(CONS @LIST CCL)T T))
@((THCOND((THASVAL(THV FT))(THSETQ(THV NT)(COMPCHANGES(THV INVAR1)(THV INVAR2)
(INCRELIT(THV SASSERTLITS)(REVERSE(THV ASSERTLITS))))))
(T(THSETQ(THV FT)(COMPCHANGES(THV INVAR1)(THV INVAR2)
(INCRELIT(THV SASSERTLITS)(REVERSE(THV ASSERTLITS))))))) )
(LIST(LIST @THCOND(APPEND(LIST(LIST @AND(LIST @NOT @(THASVAL(THV NT)))(LIST @AMBIG @(THV FT))))
(RESETCHNGVARS IVAL)
@((THSET(CAR (THV ANS))NIL)
(THGO REP) ) )
@(T T) ))
(LIST(LIST @SETQ @GTEMP (LIST @WHILASSEM @(THV BP) @(THV PB)@(COND((THASVAL(THV NT))(THV NT))
(T(THV FT)))
@(THV CTST))))
@((THSETQ(THV PB)GTEMP T T))
(COND((GET OP @OA)(IASSERTUP(GET OP @OA)))
(T(UNWINDUP)))
@((SETQ GANS(REVERSE(EVAL(CAR(THV ANS)))))
(THCOND((THV LWF)(THSETQ(THV WF)NIL T T)
(THSETQ(THV BT)NIL T T)
(SETQ GANS(REMBT GANS)))(T T))
(THSETQ(THV DBLITS)(CONS(CDAR CT)(THV DBLITS)))
(THCOND((THV LUF)(THSETQ(THV UF)NIL T T)(THSETQ(THV ULS)T))(T T)))
(LIST(LIST @THCOND(LIST @(THV ULS)(LIST @THSETQ @(THV ASSERTLITS)(LIST @CONS(LIST @LIST(APPEND @(LIST)
(LIST(LIST @QUOTE(CAR(PLPRED(CAR(LAST(CAR(GET OP @IG))))NIL))))(CDR(PLPRED(CAR(LAST(CAR(GET OP @IG))))T))@(@R))
(CONS @LIST(UNEVALARG(CDR(CAR(LAST(CAR(GET OP @IG)))))))) @(THV ASSERTLITS))) )(LIST T (LIST @THSETQ @(THV WASSERTLITS)
(LIST @CONS(LIST @LIST(APPEND @(LIST)(LIST(LIST @QUOTE(CAR(PLPRED(CAR(LAST(CAR(GET OP @IG))))NIL))))
(CDR(PLPRED(CAR(LAST(CAR(GET OP @IG))))T))@(@R))(CONS @LIST(UNEVALARG(CDR(CAR(LAST(CAR(GET OP @IG))))))))
@(THV WASSERTLITS))) )))
@((COND((EQ(QUOTE IF)(CADAR CT))(ELSECLAUSE))(T(THSETQ CT(CDR CT)T T))) ))
@THEOREM)) ))
EXPR)
(DEFPROP GENINVAR
(LAMBDA(CL DSW)
(PROG(LI SG SW LIT LICCL SIVAL SCCL)
(COND((NULL CL)(RETURN NIL)))
(SETQ CCL NIL)
(SETQ IBAL(VARLIST(GET OP @IBAS)))
(SETQ IVAL(VARLIST CL))
(SETQ IGAL(VARLIST(GET OP @IG)))
GE1 (SETQ SW NIL)
(SETQ LI(CAAR CL))
(COND((CDAR CL)(SETQ SIVAL IVAL)(SETQ SCCL CCL)(SETQ SG(CONS(IDISJUN(CAR CL))SG))
(SETQ IVAL SIVAL)(SETQ CCL(CONS(CAR(REVERSE CCL))SCCL))(GO GE7)))
(COND((EQ NEGSGN(CAR LI))(SETQ SW T)(SETQ LI(CDR LI))))
(SETQ LICCL(PLPRED LI T))
(SETQ LI(PLPRED LI NIL))
(COND((AND(NOT SW)(NOT(GET(CAR LI)@PARTIAL)))
(SETQ SG(CONS(LIST @THGOAL(APPEND LI(COND((GET(CAR LI)@FLUENT)@(R))(T NIL)))@(THTBF FILTERAX))SG))
(SETQ CCL(CONS(LIST @SIMPLE(APPEND @(LIST)(LIST(CONS @QUOTE(LIST(CAR LI))))
(APPEND(CDR LICCL)(COND((GET(CAR LI)@FLUENT)@(@R))(T NIL)))))CCL))
(GO GE7))
((NOT(GET(CAR LI)@PARTIAL))
(SETQ SG(CONS(LIST @THNOT(LIST @THGOAL(APPEND LI
(COND((GET(CAR LI)@FLUENT)@(R))(T NIL)))@(THTBF FILTERAX)))SG))
(SETQ CCL(CONS(LIST @SIMPLE(APPEND @(LIST)(LIST(LIST @QUOTE NEGSGN)(LIST @QUOTE(CAR LI)))(APPEND(CDR LI)
(COND((GET(CAR LI)@FLUENT)@(@R))(T NIL)))
))CCL))
(GO GE7)))
(SETQ LI(APPEND LI(COND((GET(CAR LI)@FLUENT)@(R))(T NIL))))
(SETQ LIT LI)
(COND(SW(SETQ LI(CONS(READLIST(APPEND @(N)(EXPLODE(CAR LI))))
(CDR LI))))
(T(SETQ LIT(CONS(READLIST(APPEND @(N)(EXPLODE(CAR LI))))(CDR LI)))))
(SETQ SG(CONS(LIST @THCOND(LIST(LIST @THGOAL LI)T)
(LIST(LIST @THGOAL LIT)@(THFAIL))
(LIST T(LIST @UNCERTLIT(APPEND @(LIST)
(CONS(LIST @QUOTE(CAR LI))(CDR LI)))DSW
(LIST @QUOTE LI)(LIST @QUOTE LIT))))SG))
(COND((NULL DSW)(SETQ SG(CONS(LIST @CONDSTAT @(THV CGL)DSW)SG))))
GE7 (SETQ CL(CDR CL))
(COND(CL(GO GE1)))
(RETURN(REVERSE SG)) ))
EXPR)
(DEFPROP RESETCHNGVARS
(LAMBDA(IV)
(COND((NULL IV)NIL)
((AND(OR(EQUAL IBAL IVAL)(NOT(ATOM(CAR IV)))(MEMBER(CAR IV)IBAL)(MEMBER(CAR IV)IGAL))
(OR(NOT(EQUAL IBAL IVAL))(NOT(ATOM(CAR IV)))(NOT(OR(MEMBER(CAR IV)IBAL)
(MEMBER(CAR IV)IGAL)))))(RESETCHNGVARS(CDR IV)))
(T(CONS(LIST @THSETQ(LIST @THV(CAR IV))@(QUOTE THUNASSIGNED))
(RESETCHNGVARS(CDR IV))))))
EXPR)
(DEFPROP DEFUNDEF
(LAMBDA(IV)
(COND((NULL IV)NIL)
((OR(NOT(ATOM(CAR IV)))(MEMBER(CAR IV)IBAL))
(DEFUNDEF(CDR IV)))
(T(CONS(LIST @THCOND(LIST(LIST @NOT(LIST @THASVAL(LIST @THV(CAR IV))))
(LIST @THSETQ(LIST @THV(CAR IV))@@##))@(T T))
(DEFUNDEF(CDR IV))))))
EXPR)
(DEFPROP IDISJUN
(LAMBDA(C)
(PROG(SGD TP TP1)
(SETQ TP C)
ID2 (SETQ TP1(CONS(LIST(CAR TP))TP1))
(SETQ TP(CDR TP))
(COND(TP(GO ID2)))
(SETQ SGD(GENINVAR TP1 T))
(RETURN(CONS @THOR(APPEND SGD(LIST(LIST @CONDSTAT @(THV CGL)T))))) ))
EXPR)
(DEFPROP IASSERTUP
(LAMBDA(OA)
(PROG(LOA UNP U)
(SETQ LOA(PLPRED(CAAR OA)T))
(SETQ UNP(GET(CAR LOA)@UNIQ))
(SETQ REDUNAS NIL)
(COND((NULL UNP)(RETURN(APPEND @((THSET(CAR(THV ANS))(APPEND(THV PB)(THV PS))))
(ASSERTCOND(GET OP @OA))))))
(SETQ U(LIST(LIST @THSETQ @(THV PLANL)(LIST @CONS(LIST @LIST(CONS @LIST
(GIFUN LOA)) @(THV PB)) @(THV PLANL)))
(LIST @THCOND(LIST @(THV LWF)@(THSET(CAR(THV ANS))(APPEND(THV PB)(THV PS))))
(LIST T(LIST @THSET @(CAR(THV ANS))(LIST @APPEND
(LIST @LIST(CONS @LIST(CONS @@←(CDR LOA)))))))))
(LIST T @(THSET(CAR(THV ANS))(APPEND(THV PB)(THV PS)))))
(RETURN(APPEND U(ERASECOND(GET OP @OA))(ASSERTCOND(GET OP @OA))(COND((CDAR(GET OP @OA))
(CDISPOST(REVERSE(GET OP @OA))))))) ))
EXPR)
(DEFPROP GIFUN
(LAMBDA(LOA)
(PROG(FF RS)
GI2 (COND((NULL LOA)(RETURN(APPEND FF(REVERSE RS))))
((EQ(CAAR LOA)@THV)(SETQ RS(CONS(CAR LOA)RS)))
((EQ(CAAR LOA)@LIST)(SETQ FF(LIST(CADAR LOA)))
(SETQ RS(APPEND(REVERSE(GIFUN(CDDAR LOA)))RS)) ))
(SETQ LOA(CDR LOA))
(GO GI2) ))
EXPR)
(DEFPROP SUBSTPOS
(LAMBDA(C TE E)
(COND((NULL TE)NIL)
((EQ @*(CAR TE))(CONS C(CDR E)))
(T(CONS(CAR E)(SUBSTPOS C(CDR TE)(CDR E))))))
EXPR)
(DEFPROP UNWINDUP
(LAMBDA NIL
(PROG NIL
(SETQ UPTHM(LIST @DEFPROP(READLIST(APPEND @(T U P)(EXPLODE OP)))
(APPEND @(THCONSE)
(LIST(VARLIST(APPEND(GET OP @INVAR)(GET OP @ISTEP))))
(LIST(LIST(READLIST(APPEND @(U P)(EXPLODE OP)))))
(GENINVAR(GET OP @INVAR)NIL)
(CSG(SUBGOALCOND(GET OP @ISTEP)NIL)))
@THEOREM))
(RETURN(APPEND @((THSETQ(THV UF)T) (THSETQ(THV LUF)T) UP1(THSETQ(THV ULS)NIL T T))
(LIST(LIST @THCOND(LIST(LIST @THNOT(LIST @THGOAL(APPEND(PLPRED(CAAR(GET OP @IG))NIL)@(R))@(THTBF FILTERAX)))
(LIST @THGOAL(LIST(READLIST(APPEND @(U P)
(EXPLODE OP))))@(THTBF THTRUE)))
(LIST T @(THGO UP2)))
@(THGO UP1) @UP2
@(THSET(CAR(THV ANS))(APPEND(THV PB)(THV PS)))) ))))
EXPR)
(DEFPROP PREDARG#
(LAMBDA(PL)
(COND((NULL PL)NIL)
((EQ(LENGTH(CDAR PL))1)
(COND((GET(CAAR PL)@FLUENT)(SETQ P2A(CONS(CAAR PL)P2A))
(PREDARG#(CDR PL)))
(T(SETQ P1A(CONS(CAAR PL)P1A))(PREDARG#(CDR PL)))))
((EQ(LENGTH(CDAR PL))2)
(COND((GET(CAAR PL)@FLUENT)(SETQ P3A(CONS(CAAR PL)P3A))
(PREDARG#(CDR PL)))
(T(SETQ P2A(CONS(CAAR PL)P2A))(PREDARG#(CDR PL)))))
((EQ(LENGTH(CDAR PL))3)
(COND((GET(CAAR PL)@FLUENT)(SETQ P4A(CONS(CAAR PL)P4A))
(PREDARG#(CDR PL)))
(T(SETQ P3A(CONS(CAAR PL)P3A))(PREDARG#(CDR PL)))))
((EQ(LENGTH(CDAR PL))4)
(COND((GET(CAAR PL)@FLUENT)(SETQ P5A(CONS(CAAR PL)P5A))
(PREDARG#(CDR PL)))
(T(SETQ P4A(CONS(CAAR PL)P4A))(PREDARG#(CDR PL)))))))
EXPR)
(DEFPROP IMODEL
(LAMBDA(I)
(PROG(IM NPR PR AR PS)
(SETQ IM I)
IM1 (COND((NULL IM)(RETURN PS)))
(COND((EQ NEGSGN(CAAAR IM))(GO IM4)))
(COND((GET(CAAAR IM)@FLUENT)(GO IM2)))
(PRINT(LIST @THASSERT(CAAR IM)))
(GO IM6)
IM2 (PRINT(LIST @THASSERT(APPEND(CAAR IM)(LIST @R))))
(COND(LOOK(PRINT(LIST @THASSERT(APPEND(CAAR IM)(LIST @H))))))
(GO IM6)
IM4 (SETQ PR(CADAAR IM))
(COND((NOT(GET PR @PARTIAL))(GO IM6)))
(SETQ NPR(READLIST(APPEND(LIST @N)(EXPLODE PR))))
(SETQ AR(CDDAAR IM))
(SETQ PS(CONS(CONS NPR AR)PS))
(COND((GET PR @FLUENT)(GO IM5)))
(PRINT(LIST @THASSERT(CONS NPR AR)))
(PUTPROP NPR(GET PR @FLUENT)@FLUENT)
(PUTPROP NPR(GET PR @PARTIAL)@PARTIAL)
(PUTPROP NPR(GET PR @UNIQ)@UNIQ)
(PUTPROP NPR(GET PR @INDEP)@INDEP)
(GO IM6)
IM5 (PRINT(LIST @THASSERT(APPEND(CONS NPR AR)(LIST @R))))
(COND(LOOK(PRINT(LIST @THASSERT(APPEND(CONS NPR AR)(LIST @H))))))
IM6 (SETQ IM(CDR IM))
(GO IM1) ))
EXPR)
(DEFPROP GETCLAUSES
(LAMBDA NIL
(PROG(PR PR1 CL CLL FF)
GE0 (SETQ CL NIL)
GE1 (SETQ PR NIL)
GE2 (SETQ PR1(READ))
(COND((EQ PR1 @{)(SETQ CL(CONS(GETCLAUSES)CL))(GO GE1)))
(COND((AND(NULL FF)(EQ PR1 T))(RETURN T))((AND(NULL FF)(EQ PR1 NIL))(RETURN NIL)))
(SETQ FF T)
(COND((NOT(ATOM PR1))(GO GE6))
((OR(EQ @;; PR1)(EQ @;} PR1))(RETURN(REVERSE(CONS CL CLL)))))
(SETQ PR1(EXPLODE PR1))
(COND((EQ(CAR PR1)@α)(SETQ PR1(CDR PR1))))
(COND((NULL PR1)(GO GE2)))
(COND((NOT(EQ(CAR PR1)@β))(GO GE25)))
(SETQ CL(CONS @* CL))
(SETQ PR1(CDR PR1))
(COND((NULL PR1)(GO GE2)))
GE25 (COND((EQ @; (CAR PR1))(GO GE7)))
GE3 (COND((EQ NEGSGN(CAR PR1))(GO GE5)))
GE4 (SETQ PR(CONS(READLIST PR1)PR))
(GO GE2)
GE5 (SETQ PR(CONS NEGSGN PR))
(SETQ PR1(CDR PR1))
(COND((NULL PR1)(GO GE2))
(T(GO GE4)))
GE6 (SETQ CL(CONS(NCONC(REVERSE PR)PR1)CL))
(GO GE1)
GE7 (SETQ PR1(CDR PR1))
(SETQ CLL(CONS CL CLL))
(COND((NULL PR1)(GO GE0)))
(SETQ CL NIL)
(SETQ PR NIL)
(COND((NOT(EQ(CAR PR1)@α))(GO GE3)))
(SETQ PR1(CDR PR1))
(COND((NULL PR1)(GO GE0))
(T(GO GE3)))
))EXPR)
(DEFPROP PORDER
(LAMBDA(FL PO)
(PROG(ISW RN LPO)
(SETQ RN(LENGTH FL))
PO2 (COND((ZEROP RN)(RETURN NIL)))
(SETQ ISW NIL) (SETQ LPO PO)
PO4 (COND((BADORDER(CAR LPO)FL)
(SETQ ISW T) (SETQ FL(INTERC FL(CAAR LPO)(CADAR LPO)))))
(SETQ LPO(CDR LPO))
(COND(LPO(GO PO4))
((NULL ISW)(RETURN FL)))
(SETQ RN(SUB1 RN))
(GO PO2) ))
EXPR)
(DEFPROP INTERC
(LAMBDA(FL R1 R2)
(COND((EQ(CAR FL)R2)(CONS R1(INTERC(CDR FL)R1 R2)))
((EQ(CAR FL)R1)(CONS R2(CDR FL)))
(T(CONS(CAR FL)(INTERC(CDR FL)R1 R2)))) )
EXPR)
(DEFPROP BADORDER
(LAMBDA(ALPO FL)
(COND((NULL FL)NIL)
((EQ(CAR FL)(CADR ALPO))
(COND((MEMBER(CAR ALPO)(CDR FL))T)
(T NIL)))
((EQ(CAR FL)(CAR ALPO))NIL)
(T(BADORDER ALPO(CDR FL)))) )
EXPR)
(DEFPROP COMP
(LAMBDA (L)
(PROG(LOOK TSW TRACESW SI P PP ID ID1 FUN FUNLIST TEMP PO SRULES LS RS
FUNARG INITIAL DEVNAME PREDLISTS PROPL UT BTSW)
(COND((NULL L)(GO SU2)))
(EVAL(CONS @INPUT L))
(INC T)
(SETQ ID T)
SU2 (PRINT @******_SEMANTIC_FRAME_DEFINITION_******)
(TERPRI)
SU4 (PRINT @RULE_TYPE*)
(SETQ TSW(READ))
(COND(ID(PRINC TSW)))
(SETQ FUNARG NIL)
(COND((NULL TSW)(GO SU6)))
(PRINT @RULE_NAME*)
(SETQ FUN(READ))
(COND((OR(EQ TSW @OP)(EQ TSW @OPERATOR))(SETQ FUNARG(READ))(PUTPROP FUN T @OP)
(SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE FUN)T @@OP)PROPL)))
((OR(EQ TSW @AX)(EQ TSW @AXIOM))(PUTPROP FUN T @AX)(SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE FUN)T @@AX)PROPL)))
((EQ TSW @ITERATIVE)(PUTPROP FUN T @ITER)(SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE FUN)T @@ITER)PROPL)))
(T(PUTPROP FUN T @DEF)(SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE FUN)T @@DEF)PROPL))))
(SETQ FUNLIST(CONS FUN FUNLIST))
(COND(ID(PRINC(CONS FUN FUNARG))))
(PUTPROP FUN FUNARG @ARG) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE FUN)(LIST @QUOTE FUNARG)@@ARG)PROPL))
(PRINT @IS_THIS_AN_ASSUMPTION?*)
(PUTPROP FUN(READ)@ASSUM) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE FUN)(LIST @QUOTE(GET FUN @ASSUM))@@ASSUM)PROPL))
(COND(ID(PRINC(GET FUN @ASSUM))))
(PRINT @IS_OPERATOR_DIRECTLY_RECURSIVE?)
(PRINC @*)
(PUTPROP FUN(READ)@REC) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE FUN)(LIST @QUOTE(GET FUN @REC))@@REC)PROPL))
(COND(ID(PRINC(GET FUN @REC))))
(PRINT @INEQUALITY_IN_ARGUMENT_POSITIONS?)
(PRINC @*)
(PUTPROP FUN(READ)@INEQ) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE FUN)(LIST @QUOTE(GET FUN @INEQ))@@INEQ)PROPL))
(COND(ID(PRINC(GET FUN @INEQ))))
(COND((EQ TSW @ITERATIVE)(GO SU5)))
(PRINT @PRECONDITIONS_OF_OPERATOR:)
(PRINT @*)
(PUTPROP FUN(GETCLAUSES)@PRE)
(COND(ID(PRINC(GET FUN @PRE))))
(PRINT @POSTCONDITIONS_OF_OPERATOR:)
(PRINT @*)
(PUTPROP FUN(GETCLAUSES)@POST)
(COND(ID(PRINC(GET FUN @POST))))
(TERPRI)
(GO SU4)
SU5 (PRINT @BASIS_CONDITION:)(PRINT @*)
(PUTPROP FUN(GETCLAUSES)@IBAS)
(COND(ID(PRINC(GET FUN @IBAS))))
(PRINT @INVARIANT_CONDITIONS_OF_ITERATION:)(PRINT @*)
(PUTPROP FUN(GETCLAUSES)@INVAR)
(COND(ID(PRINC(GET FUN @INVAR))))
(COND((NOT(GET FUN @IBAS))(PUTPROP FUN(GET FUN @INVAR)@IBAS)))
(PRINT @ITERATION_STEP_CONDITIONS:) (PRINT @*)
(PUTPROP FUN(GETCLAUSES)@ISTEP)
(COND(ID(PRINC(GET FUN @ISTEP))))
(PRINT @CONTROL_TEST:*)
(PUTPROP FUN(GETCLAUSES) @ICT)
(COND(ID(PRINC(GET FUN @ICT))))
(PRINT @OUTPUT_ASSERTION:*)
(PUTPROP FUN(GETCLAUSES) @OA)
(COND(ID(PRINC(GET FUN @OA))))
(PRINT @ITERATIVE_GOAL:*)
(PUTPROP FUN(GETCLAUSES)@IG)
(COND(ID(PRINC(GET FUN @IG))))
(COND((NOT(GET FUN @ICT))(PUTPROP FUN(GET FUN @IG)@ICT)))
(SETQ BTSW T)
(TERPRI)
(GO SU4)
SU6 (COND(BTSW(PRINT @IS_BINDING_TRACE_MECHANISM_REQUIRED_FOR_ITERATIVE_RULES?*)
(COND((NOT(READ))(SETQ BTSW NIL)))))
(PRINT @INITIAL_AXIOMS:)
(PRINT @*)
(SETQ INITIAL(GETCLAUSES))
(COND(ID(PRINC INITIAL)))
(TERPRI)
(COND((NULL L)(SETQ ID1 NIL)(GO SU61)))
(PRINT @SEMANTIC_PROPERTIES_OF_PREDICATES_FROM_DISK?*)
(SETQ ID1(READ))
(COND(ID(PRINC ID1)))
(TERPRI)
(TERPRI)
SU61 (SETQ PREDLISTS PREDLIST)
(SETQ PREDLIST(GETPREDS FUNLIST PREDLIST))
(COND((EQUAL PREDLIST PREDLISTS)(INC NIL)(GO SU9)))
(SETQ PREDLISTS PREDLIST)
(COND((NOT ID1)(GO SU7)))
(SETQ SI(READ))
SU62 (COND((NULL SI)(GO SU68)))
(SETQ P(CAAR SI))
(SETQ PP(CDAR SI))
(PUTPROP P(CAR PP)@FLUENT) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE P)(LIST @QUOTE(CAR PP))@@FLUENT)PROPL))
(PUTPROP P(CADR PP)@PARTIAL) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE P)(LIST @QUOTE(CADR PP))@@PARTIAL)PROPL))
(PUTPROP P(CADDR PP)@UNCERT) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE P)(LIST @QUOTE(CADDR PP))@@UNCERT)PROPL))
(PUTPROP P(CADDDR PP)@UNIQ) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE P)(LIST @QUOTE(CADDDR PP))@@UNIQ)PROPL))
(PUTPROP P T @DEF) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE P)T @@DEF)PROPL))
(SETQ SI(CDR SI))
(GO SU62)
SU68 (COND((READ)(SETQ FUNDEFLIST(READ))))
(INC NIL) (GO SU9)
SU7 (PRINT @SEMANTIC_PROPERTIES_OF_PREDICATES:)
(TERPRI)
(INC NIL)
SU8 (COND((OR(GET(CAAR PREDLIST)@SUBR)(GET(CAAR PREDLIST)@EXPR))(GO SU83)))
(COND((GET(CAAR PREDLIST)@DEF)(GO SU83)))
(PUTPROP(CAAR PREDLIST)T @DEF) (SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE(CAAR PREDLIST))T @@DEF)PROPL))
(PRINT @IS_)
(PRINC(CAR PREDLIST))
(PRINC @_A_FUNCTION_OF_THE_STATE?*)
(PUTPROP(CAAR PREDLIST)(READ)@FLUENT)
(SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE(CAAR PREDLIST))(LIST @QUOTE(GET(CAAR PREDLIST)@FLUENT))@@FLUENT)PROPL))
(PRINT @IS_KNOWLEDGE_REPRESENTED_USING_)
(PRINC(CAR PREDLIST))
(PRINC @_PARTIAL?*)
(PUTPROP(CAAR PREDLIST)(READ)@PARTIAL)
(SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE(CAAR PREDLIST))(LIST @QUOTE(GET(CAAR PREDLIST)@PARTIAL))@@PARTIAL)PROPL))
(PRINT @IS_)
(PRINC(CAR PREDLIST))
(PRINC @_UNCERTAIN?*)
(PUTPROP(CAAR PREDLIST)(READ)@UNCERT)
(SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE(CAAR PREDLIST))(LIST @QUOTE(GET(CAAR PREDLIST)@UNCERT))@@UNCERT)PROPL))
(PRINT @UNIQUENESS_PROPERTY_IN_ARGUMENT_POSITIONS?)
(PRINC @*)
(PUTPROP(CAAR PREDLIST)(READ)@UNIQ)
(SETQ PROPL(CONS(LIST @PUTPROP(LIST @QUOTE(CAAR PREDLIST))(LIST @QUOTE(GET(CAAR PREDLIST)@UNIQ))@@UNIQ)PROPL))
SU83 (SETQ PREDLIST(CDR PREDLIST))
(COND((NOT(NULL PREDLIST))(GO SU8)))
(TERPRI)
SU9 (PRINT @FILENAME=)
(SETQ DEVNAME(READ))
(SETQ FILENAME(READ))
(PRINT @TRACE_MODE?)
(SETQ TRACESW(READ))
(PRINT @PERFORMANCE_STATISTICS?)
(SETQ STAT(READ))
(PRINT @LOOKAHEAD?)
(SETQ LOOK(READ))
(PRINT @DO_YOU_DESIRE_ALGEBRAIC_SIMPLIFICATION?)
(PRINT @(IT IS RESTRICTED AT THIS TIME TO NESTED UNARY FUNCTIONS))
(COND((NULL(READ))(GO SU12)))
SU10 (PRINT @LEFT_SIDE_OF_RULE:)
(SETQ LS(READ))
(COND((NULL LS)(GO SU12)))
(PRINT @RIGHT_SIDE_OF_RULE:)
(SETQ RS(READ))
(SETQ SRULES(CONS(LIST LS RS)SRULES))
(GO SU10)
SU12 (PRINT @DO_YOU_HAVE_PREFERENCE_IN_THE_ORDER_OF_RULE_APPLICATION?*)
(COND((NULL(READ))(GO SU18)))
(PRINT @STATE_ORDER_USING_SYNTAX:)
(PRINT @TRY_<RULENAME>_BEFORE_<RULENAME>)
(SETQ PO NIL)
SU13 (PRINT @*)
(SETQ TEMP(READ))
(COND((NULL TEMP)(GO SU15)))
(SETQ TEMP(READ))
(READ)
(SETQ PO(CONS(LIST TEMP(READ))PO))
(GO SU13)
SU15 (SETQ TEMP(PORDER FUNLIST PO))
(COND((NULL TEMP)(PRINT @INCOMPATABLE_ORDERING!!__TRY_AGAIN)(GO SU12)))
(SETQ FUNLIST TEMP)
SU18 (EVAL(LIST @OUTPUT DEVNAME FILENAME))
(OUTC T)
(COND(GOL(GO SU95)))
(PRINT @(CSYM AV00))
(PRINT @(THVSETQ(THV ANS)(LIST(LIST @THV(GENSYM)))))
(PRINT @(THVSET(CAR(THV ANS))NIL))
(TERPRI)(TERPRI)
(PRINT(LIST @THVSETQ(LIST @THV @WF)NIL))
(PRINT(LIST @THVSETQ(LIST @THV @GCTR)@0))
(PRINT(LIST @THVSETQ(LIST @THV @ULS)T))
(PRINT(LIST @THVSETQ(LIST @THV @UF)NIL))
(PRINT(LIST @THVSETQ(LIST @THV @XN)@0))
(PRINT(LIST @THVSETQ(LIST @THV @ZN)@0))
(PRINT(LIST @THVSETQ(LIST @THV @YN)@0))
(PRINT(LIST @THVSETQ(LIST @THV @COMMENTLIST)NIL))
(PRINT(LIST @THVSETQ(LIST @THV @PLANL)NIL))
(PRINT(LIST @THVSETQ(LIST @THV @ASSL)NIL))
(PRINT(LIST @THVSETQ(LIST @THV @PASSUM)NIL))
(PRINT(LIST @SETQ @GTEMP NIL))
(PRINT(LIST @SETQ @CT NIL))
(PRINT(LIST @SETQ @BTSW BTSW))
(PRINT(LIST @THVSETQ(LIST @THV @DG)NIL))
(PRINT(LIST @SETQ @AL NIL))
(PRINT(LIST @SETQ @AN @0))
(PRINT(LIST @SETQ @SRULES (LIST @QUOTE SRULES)))
(PRINT(LIST @SETQ @SSW NIL))
(PRINT(LIST @SETQ @FIFOL NIL))
(PRINT(LIST @SETQ @LIFOL NIL))
(PRINT(LIST @SETQ @SN @0))
(PRINT(LIST @SETQ @PN @0))
(PRINT(LIST @SETQ @READY NIL))
(PRINT(LIST @SETQ @UNCERTLIST NIL))
(PRINT(LIST @THVSETQ(LIST @THV @DBLITS)NIL))
(PRINT(LIST @THVSETQ(LIST @THV @ASSERTLITS)NIL))
(PRINT(LIST @THVSETQ(LIST @THV @WASSERTLITS)NIL))
(PRINT(LIST @SETQ @JOINCOND NIL))
(PRINT(LIST @THVSETQ(LIST @THV @PROCLIST)NIL))
(PRINT(LIST @THVSETQ(LIST @THV @PROCDATA)NIL))
(TERPRI)(TERPRI)
SU95 (SETQ PREDLISTS(APPEND PREDLISTS(IMODEL INITIAL)))
(PREDARG# PREDLISTS)
(CSYM PL00)
(SOFTINT PREDLISTS)
(SEMOP FUNLIST)
(TERPRI)
(SPRINT(LIST @DEFPROP @RESTOREPROP
(LIST @LAMBDA NIL
(APPEND(LIST @PROG NIL)
(LIST(LIST @SETQ @STAT STAT))(LIST(LIST @SETQ @FUNDEFLIST (LIST @QUOTE FUNDEFLIST)))
PROPL)) @EXPR)2 1)
(OUTC NIL)
(PRINT @SUBGOALING_SYSTEM_GENERATED!!!)
(TERPRI)
))
EXPR)